
from fastmcp import FastMCP, Context

#定义一个MCP服务器
mcp = FastMCP("MCP Server")
from security import  *



@mcp.tool()
@check_security()
def add_tool(x:int,y:int,ctx:Context):
    """
    这个函数用于计算两个整数的和
    Args:
        x (int): 第一个整数
        y (int): 第二个整数
    Returns:
        int: 两个整数的和
    """
    # 获取请求头部的Authorization字段
    # request = ctx.get_http_request()
    # headers = request.headers
    # token = headers.get("Authorization")
    # print("===调用add_tool====>token:",token)
    # if token != "Bearer 123456789":
    #     return " 使用的token无效！"
    # else:
    #     print("===调用了add_tool ===")
    #     return x+y
    return x+y

@mcp.tool()
@authenticate()
def sub_tool(x:int,y:int,ctx:Context):
    """
    这个函数用于计算两个整数的差
    Args:
        x (int): 第一个整数
        y (int): 第二个整数
    Returns:
        int: 两个整数的差
    """
    print("===调用了sub_tool ===")
    return x-y


if __name__ == "__main__":
    print(" MCP Server 启动了...")
    #声明使用stdio传输协议,默认是sse协议
    mcp.run(transport="sse")
